home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / ODF / Found / FWExcLib / Sources / FWPriExc.cpp < prev    next >
Encoding:
Text File  |  1995-11-08  |  2.7 KB  |  95 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWPriExc.cpp
  4. //    Release Version:    $ 1.0d11 $
  5. //
  6. //    Copyright:    (c) 1993, 1995 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #include "FWFound.hpp"
  11.  
  12. #ifndef FWPRIEXC_H
  13. #include "FWPriExc.h"
  14. #endif
  15.  
  16. #ifndef FWPRIDEB_H
  17. #include "FWPriDeb.h"
  18. #endif
  19.  
  20. #if FW_LIB_EXPORT_PRAGMAS
  21. #pragma lib_export on
  22. #endif
  23.  
  24. #ifdef FW_BUILD_MAC
  25. #pragma segment BEL
  26. #endif
  27.  
  28. //========================================================================================
  29. // CLASS FW_XException
  30. //========================================================================================
  31.  
  32. #ifdef FW_NATIVE_EXCEPTIONS
  33. FW_DEFINE_EXCEPTION_ROOT(FW_XException)
  34. #else
  35. FW_DEFINE_EXCEPTION(FW_XException, _FW_XException)
  36. #endif
  37.  
  38. //----------------------------------------------------------------------------------------
  39. //    FW_XException::FW_XException
  40. //----------------------------------------------------------------------------------------
  41.  
  42. FW_XException::FW_XException(const FW_XException& exception) :
  43.     fPlatformError(exception.fPlatformError)
  44. {
  45.     FW_ASSERT(fPlatformError != 0);
  46. }
  47.  
  48. //----------------------------------------------------------------------------------------
  49. //    FW_XException::FW_XException
  50. //----------------------------------------------------------------------------------------
  51.  
  52. FW_XException::FW_XException(FW_PlatformError theError) :
  53.     fPlatformError(theError == 0 ? FW_xUnknownError : theError)
  54. {
  55.     FW_ASSERT(fPlatformError != 0);
  56. }
  57.  
  58. //----------------------------------------------------------------------------------------
  59. //    FW_XException::GetPlatformError
  60. //----------------------------------------------------------------------------------------
  61.  
  62. FW_PlatformError FW_XException::GetPlatformError(void) const
  63. {
  64.     return fPlatformError;
  65. }
  66.  
  67. //----------------------------------------------------------------------------------------
  68. //    FW_XException::~FW_XException
  69. //----------------------------------------------------------------------------------------
  70.  
  71. FW_XException::~FW_XException()
  72. {
  73. }
  74.  
  75. //----------------------------------------------------------------------------------------
  76. //    FW_FailOnError
  77. //----------------------------------------------------------------------------------------
  78.  
  79. FW_FUNC_ATTR    void FW_FailOnError(FW_PlatformError error)
  80. {
  81.     if (error != 0)
  82.         FW_THROW(FW_XException(error));
  83. }
  84.  
  85. //----------------------------------------------------------------------------------------
  86. //    FW_Failure
  87. //----------------------------------------------------------------------------------------
  88.  
  89. FW_FUNC_ATTR    void FW_Failure(FW_PlatformError error)
  90. {
  91.     FW_ASSERT(error != 0);
  92.     FW_THROW(FW_XException(error));
  93. }
  94.  
  95.